1. Field of the Invention
This invention relates to databases and more particularly relates to provisioning database resources on a grid computing system.
2. Description of the Related Art
Grid computing takes advantage of the combined processing power of several computers that are loosely coupled to share processing cycles to execute shared operations or portions of an overall operation. By employing grid computing, complex operations may be executed that might overwhelm a single computer. From another perspective, grid computing allows several users to more efficiently use the resources of a fewer number of machines.
One application for grid computing is apparent in the shared access by disparate entities to a central or distributed data storage system. For example, a storage area network (SAN) having a plurality of data storage devices may be used by one company during the day and by another company during the night. In this way, one company may back up its data, for example, during the off hours of the night and another company can back up its data during a slow time during the day. This implementation may be especially useful where the companies have different operating needs, for example, where one company is in the United States and the other company is in India.
FIG. 1 shows a database system. The illustrated database system includes a client that is connected to several database servers, which are connected to several databases via a SAN. The databases are physically stored on storage media, such as magnetic disks in the SAN. The database servers (also referred to as database managers and/or database instances) are logical representations of one or more of the databases. A database instance also may include other data and metadata that may be useful in operating the database. For example, the database instance may include some or all of the following information: a database name, volumes, files, and metadata, including configuration files, database parameters, and paths to the volumes.
One database instance may facilitate client access to one or more databases. However, when the workload on the database instance increases, conventional technology may not allow an alternative way to access the data more effectively within the database. In other words, the database server may become overloaded and the potential performance of the grid may be diminished.
In order to implement an efficient grid computing system, the grid system should be designed to accommodate increased or decreased load demands. The grid system should also be designed to balance the loads on the system among the multiple computers within the system. Unfortunately, conventional technology fails to demonstrate adequate workload balancing and resource provisioning within a grid computing system. Additionally, conventional database technologies for grid computing are rather limited. Although some conventional technologies attempt to transfer a database from one instance to another upon failure of a database manager, conventional technology does not provide for resource provisioning to increase the performance of the database system.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that provision database resources in response to performance of the database system. Beneficially, such an apparatus, system, and method would additionally overcome the performance limitations of conventional database systems and would cause less disruption (outages) than a failover mechanism.